home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / fb386 / pickup / knightm3.bas < prev    next >
BASIC Source File  |  1991-10-18  |  12KB  |  233 lines

  1. 1 KEY(1) ON:ON KEY(1) GOSUB 65010
  2. 10 '   -----------------------------------------------------------   
  3. 20 '  ----                            For F-BASIC 386 V1.1L20 ---  
  4. 30 ' -----                                       ----- 
  5. 40 '------                                                ---- 
  6. 50 ' -----                 Music And Programed By SKEMARO---  
  7. 60 '  ------------------------------------------------------------   
  8. 70 LOAD@"PDRUMS.PMB"
  9. 80 LOAD@"Q:\FJ\FM\FM_1.FMB"
  10. 90 GOSUB *めさーじゅ表示:PLAY OFF:BGM 1:FOR I=0 TO 13:PART I,I:NEXT
  11. 100 DIM T%(4,9),V%(23),D%(47)
  12. 110 TNO%=1 : TNAME$="BRASS-1" : RESTORE 110
  13. 120 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
  14. 130 '
  15. 140 DATA 61, 0, 0, 0, 0, 0, 0, 0, 0, 0
  16. 150 DATA 28,15, 6, 7, 1,23, 1, 4, 3, 0
  17. 160 DATA 28, 0, 5, 7, 0,12, 0, 3, 4, 0
  18. 170 DATA 28, 0, 5, 7, 0,12, 0, 2, 6, 0
  19. 180 DATA 28, 0, 5, 7, 0,12, 0, 4, 7, 0
  20. 190 TNO%=2 : TNAME$="BASS" : RESTORE 190
  21. 200 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
  22. 210 '
  23. 220 DATA 59, 0, 0, 0, 0, 0, 0, 0, 3, 0
  24. 230 DATA 31,15,10, 3, 0,32, 1, 3, 7, 0
  25. 240 DATA 31,15,14, 3, 0,23, 1, 1, 3, 0
  26. 250 DATA 31,15,10, 3, 1,26, 1, 5, 5, 0
  27. 260 DATA 31,12, 6, 7, 0, 4, 1, 2, 0, 0
  28. 270 TNO%=3 : TNAME$="SYNTH-1" : RESTORE 270
  29. 280 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
  30. 290 '
  31. 300 DATA  4, 0, 0, 0, 0, 0, 0, 0, 0, 0
  32. 310 DATA 31, 0, 0, 8, 0,16, 0, 1, 3, 0
  33. 320 DATA 31,13, 0, 6, 1,10, 0, 2, 3, 0
  34. 330 DATA 31, 0, 0, 8, 0,16, 0, 2, 7, 0
  35. 340 DATA 31,13, 0, 6, 1,10, 0, 4, 7, 0
  36. 350 TNO%=4 : TNAME$="SYNTH-2" : RESTORE 350
  37. 360 FOR Y%=0 TO 4 : FOR X%=0 TO 9:READ T%(Y%,X%):NEXT:NEXT:GOSUB *TNCONV
  38. 370 '
  39. 380 DATA 58, 0, 0, 0, 0, 0, 0, 0, 0, 0
  40. 390 DATA 31, 0, 0, 3, 0,44, 0, 5, 7, 0
  41. 400 DATA 31,10,10, 3, 0,43, 0, 9, 7, 0
  42. 410 DATA 31, 0, 0, 3, 0,20, 0, 1, 3, 0
  43. 420 DATA 25,10, 0, 7, 0,10, 0, 2, 3, 0
  44. 430 GOTO 630
  45. 440 *TNCONV
  46. 450 FOR I%=0 TO 9 : SWAP T%(2,I%),T%(3,I%) : NEXT
  47. 460 FOR I%=0 TO 3:J%=I%+1
  48. 470   D%( 8+I%)=(T%(J%,8) AND   7)*16+(T%(J%,7) AND 15)
  49. 480   D%(12+I%)=(T%(J%,5) AND 127)
  50. 490   D%(16+I%)=(T%(J%,6) AND   3)*64+(T%(J%,0) AND 31)
  51. 500   D%(20+I%)= T%(J%,1) AND  31
  52. 510   D%(24+I%)= T%(J%,2) AND  31
  53. 520   D%(28+I%)=(T%(J%,4) AND  15)*16+(T%(J%,3) AND 15)
  54. 530 NEXT
  55. 540   D%(32)=T%(0,0)
  56. 550   D%(33)=&HC0+((T%(0,7) AND 3)*16)+((T%(0,8) AND 7)) : D%(34)=0
  57. 560 A$=LEFT$(TNAME$+"        ",8)
  58. 570 FOR I%=0 TO  7 : D%(I%)=ASC(MID$(A$,I%+1,1)) : NEXT
  59. 580 FOR I%=0 TO 47 STEP 2 : L&=D%(I%+1)*256+D%(I%)
  60. 590   IF L&<&H8000 THEN V%(I% \ 2)=CINT(L&)                                                    ELSE V%(I% \ 2)=CINT(L&-&H10000)
  61. 600 NEXT
  62. 610 VOICE TNO%,V% : RETURN
  63. 620 '-----------------------------------------------------
  64. 630 PLAY OFF
  65. 640 T$="T138O5L8U0Q8%C"
  66. 650 PLAY T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$,T$
  67. 660 '-----------------------------------------------------
  68. 670 A$="@ 3O5V12L16 R4DRRRDDCDR4 RRFRRFRRRRGRRGRRRRRRRRRRE<EG>CACEA RRRRDRRRF<F>E<E>D<D>C<C>"
  69. 680 B$="@ 4O4V13L16 R2R4.<FA>D4.FGA<A>G<G>F<F>E<E>D2C2D4.>FGA<A>G<G>F<F>E<E"
  70. 690 C$="@ 1O4V 7    A1A2G2B-2A2A1"
  71. 700 D$="@ 1O4V 6    F1F2E2F 2E2F1"
  72. 710 E$="@ 1O4V 6    D1C2C2D 2C2D1"
  73. 720 F$="@ 2O2V10L16(D8>D<D)4(F8>F<F)(G8>G<G)(B-8>B-<B-)(A8>A<A)(D8>D<D)4"
  74. 730 G$="@ 3O4V15L8  (CRCR16C16CCRR)2CRCR16C16CCRR16C16 CRCR16C16CCRR"
  75. 740 H$="@ 2O4V15L8  (RRC4.RC4)2RRC8.C16RRC4 RRC4.RC16C16C16C16"
  76. 750 I$="@ 4O4V11 L16((GG %R5 G %C G GG%L5 G %C G)4)2"
  77. 760 O$="@15      L16<D2>R2R1R1R1"
  78. 770 O1$="           R1R1R1R2.GA>CD<"
  79. 780 PLAY A$,B$,C$,D$,E$,F$,"U+500"+G$,"U-500"+G$,"U+500"+H$,"U-500"+H$,I$,"O3V14"+O$,"O4V7"+O$,"O5V7"+O$
  80. 790 PLAY A$,B$,C$,D$,E$,F$,"U+500"+G$,"U-500"+G$,"U+500"+H$,"U-500"+H$,I$,O1$,O1$,O1$
  81. 800 '-----------------------------------------------------
  82. 810 A$="@82O4V14L16      D4.FGA<A>G<G>F<F>G<G>A4.GFG4B-8AGF4.GFE4C4D4.<FA>D4.R8"
  83. 820 B$="@82O4V11L16R U40 D4.FGA<A>G<G>F<F>G<G>A4.GFG4B-8AGF4.GFE4C4D4.<FA>D4.R16"
  84. 830 H$="@ 2O4V15    (RRC4.RC4)4"
  85. 840 O$="<D2>R2R1R1R2RRD8.D8."
  86. 850 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
  87. 860 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
  88. 870 '-----------------------------------------------------
  89. 880 A$="   D4.FGA8G8F8G8E4.EFG8F8E8G8F4. FGA8G8F8A8D4.EDD-2"
  90. 890 B$="R16D4.FGA8G8F8G8E4.EFG8F8E8G8F4. FGA8G8F8A8D4.EDD-4.&D-16"
  91. 900 C$="A2.A4G2.G4 F 2.F 4G4.G8G 2"
  92. 910 D$="F2.F4E2.E4 D 2.D 4E4.D8D-2"
  93. 920 E$="D2.D4C2.C4<B-2.B-4A4.A8A 2>"
  94. 930 F$="(D8>D<D)4(C8>C<C)4<(B-8>B-<B-)4(A8>A<A)4>"
  95. 940 O$="<D1C2E4.DC<B-1A2>>RRA8.A8."
  96. 950 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
  97. 960 '-----------------------------------------------------
  98. 970 A$="   D4.FGA8G8F8G8E4.EFG8F8E8G8F4. FGA8G8F8A8D4.EDA2"
  99. 980 B$="R16D4.FGA8G8F8G8E4.EFG8F8E8G8F4. FGA8G8F8A8D4.EDA4.&A16"
  100. 990 C1$="O4A2.A4G2.G4 F 2.F 4G4.G8]]]]]<(A16>D-16E16A16>)<<[[[[["
  101. 1000 D1$="O4F2.F4E2.E4 D 2.D 4E4.D8]]]]]<(D-16E16A16>D-16>)<<[[[[["
  102. 1010 PLAY A$,B$,C1$,D1$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
  103. 1020 '-----------------------------------------------------
  104. 1030 A$="@6V11O4 %R((D>CD<DGA)3)3 D-E<A>D-E AEA>D-E"
  105. 1040 B$="@6V11O4 %L((A>GA<ACD)3)3<A>D-EA>D-A>D-EAD-"
  106. 1050 F$="(D8>D<D)4(C8>C<C)4<(B-8>B-<B-)4(A8>A<A)4>"
  107. 1060 PLAY A$,B$,C1$,D1$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
  108. 1070 E$="D2.D4C2.C4<B-2.B-4 V15>A4.A16>D-16E4G4<"
  109. 1080 O$="<D1C2E4.DC<B-1A2>E4G4"
  110. 1090 PLAY A$,B$,C1$,D1$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
  111. 1100 '-----------------------------------------------------
  112. 1110 A$="@1V14O2(D16D8D16R4R2R1)"
  113. 1120 B$="@1V12O4(A16A8A16R4R2R1)"
  114. 1130 C$="@4V14O5(D16D8D16R4R2R1)"
  115. 1140 D$="@4V12O4(A16A8A16R4R2R1)"
  116. 1150 E$="@4V12O4(F16F8F16R4R2R1)"
  117. 1160 F$="     (O2D8DD>CD<DD8D>CD<B->C<GA (DFADA>D<)DD>CD)2"
  118. 1170 F1$="     O2D8DDAGDD8D>CD<B->C<GA (DAFD>D<A)D>C<B-A FDDGDDADDB-DD>C<D>D<D>CD>D<CD>D-<CD>C<CDBCDB-A"
  119. 1180 G$="L16(CRCCRCRCRCRCCRCC)4"
  120. 1190 H$="L16(RRCRRCRR@8B32B32B@3CR@8G32G32G@2C8@9BBBB@2C@8BFCBF@2C@9EEE@2CC)2"
  121. 1200 O$="D16D8D16R4R2R1 D16D8D16R4R2R2.G32F32E32D32C8"
  122. 1210 I$="@ 4O4V11 L16((GG %R5 G %C G GG%L5 G %C G)2(GG@5G@4)4@6GGGG@4)2"
  123. 1220 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O$,O$,O$
  124. 1230 H$="L16CC@9B@2C@9F@2CC@9C@2V1((C]])4)2@8B32B32BBF32F32FF@2C8@9<CCCCCC>@2C8 RCRCRRCRCC @8BFC BFC@2(CC@3C@2)4CCCC"
  125. 1240 PLAY A$,B$,C$,D$,E$,F1$,G$,G$,H$,H$,I$,O$,O$,O$
  126. 1250 '-----------------------------------------------------
  127. 1260 LOOP=0
  128. 1270 A$="@16O5V 7    ((AA>%RA<%CA AA>%LA<%CA)4)2"
  129. 1280 B$="@ 4O4V12    F2.&F8EFG2>C2<(]]AGF[[AGFA8)3GFEGFEG8"
  130. 1290 C$="@ 1O4V 7    F 1G1A1A2.G4"
  131. 1300 D$="@ 1O4V 6    D 1E1F1F2.E4"
  132. 1310 E$="@ 1O4V 6   <B-1>C1D1D2.C4"
  133. 1320 F$="   O2      <(B-8>B-<B-)4>(C8>C<C)4((D8>D<D)2)3 GFEEDC<A8>"
  134. 1330 G$="@ 3O4V15L16 (CCCCRRCCRRCRRRRC)2L8CRCR16C16CCRR16C16 CRCR16C16CCRRL16"
  135. 1340 H$="@ 2O4V15L8  (RRC4.RC4)2RRC8.C16RRC4 RRC4.RC16C16C16C16"
  136. 1350 I$="@ 4O4V11 L16((GG %R5 G %C G GG%L5 G %C G)4)2"
  137. 1360 O$="@15      L16RRRRARRRA8GARRRRRRARRARRA8GAR>C8.<RRRRARRRA8GARRRRRRRRRRRR RRD8.D8."
  138. 1370 O1$="@15      B-1>C1D1R2 D8.D8.<"
  139. 1380 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O1$,O1$,O$
  140. 1390 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O1$,O1$,O$
  141. 1400 '-----------------------------------------------------
  142. 1410 B$="           F2.&F8EFG2>G4.FE FGRARGF8GFRE8DC8D2RE8.RE8.<"
  143. 1420 C$="            F 1G1A1A2 ]]R16G8.R16G8.[["
  144. 1430 D$="            D 1E1F1F2 ]]R16E8.R16E8.[["
  145. 1440 E$="           <B-1>C1D1D2]]R16C8.R16C8.[["
  146. 1450 F$="   O2      <(B-8>B-<B-)4>(C8>C<C)4((D8>D<D)4)2 "
  147. 1460 O$="@15      L16RRRRARRRA8GARRRRRRARRARRA8GAR>C8.<RRRRARRRA8GARRRRRRRRRRRR RC8.RC8."
  148. 1470 O1$="@15     B-1>C1D1R2RC8.RC8.<"
  149. 1480 PLAY A$,B$,C$,D$,E$,F$,G$,G$,H$,H$,I$,O1$,O1$,O$
  150. 1490 IF LOOP=1 THEN 670
  151. 1500 '-----------------------------------------------------
  152. 1510 A$="@3O4L16V9 ((A>DFA>D<AFD<)3 G>CEG>C<GEC<)2"
  153. 1520 B$="@3O4L16V7U40 (R(A>DFA>D<AFD<)3 G>CEG>C<GE<)2"
  154. 1530 F$="(((D8>D<D)2)3D8>D<D C8>C<C)2"
  155. 1540 G$="((CRRRCRRR)4)2"
  156. 1550 H$="(R1R2.C16C16C16C16)2"
  157. 1560 O$="(D8.D8.RRR2R2RGA>CR<A>CD<)2"
  158. 1570 PLAY A$,B$,,,,F$,G$,G$,H$,H$,I$,O$,O$,O$
  159. 1580 '-----------------------------------------------------
  160. 1590 A$="(FB->DFB-FD<B- G>CEG>C<GEC<)2 (FB->DF <G>CEG<)(B->DFCEG<)2DFEG"
  161. 1600 B$="R(FB->DFB-FD<B- G>CEG>C<GEC<)2 (FB->DF <G>CEG<)(B->DFCEG<)2DFE"
  162. 1610 F$="O2(<(B-8>B-<B-)2>(C8>C<C))2 (<B-8>B-<B->C8>C<C)2(<B->B-<B->C>C<C)<B->B- C>C<"
  163. 1620 G$="((CRRRCRRR)2)3CRRCRRCRRCRRCRCR"
  164. 1630 H$="(R2.C16C16C16C16)2RRCRRRCRR16CR16CR16CR16CC16C16C16C16"
  165. 1640 O$="D2E2D2E2D4E4D4E4D8.E8.D8.E8.D8E8"
  166. 1650 PLAY A$,B$,,,,F$,G$,G$,H$,H$,I$,O$,O$,O$:LOOP=1:GOTO 1270
  167. 5000 *めさーじゅ表示
  168. 5010 '------------------------------------------------------ONSHOKU SETTEI
  169. 5020 RESTORE 5050:DIM SON(23):SAD=VARPTR(SON(0)):FOR I=1 TO 1
  170. 5030 FOR ADD=8 TO 33:READ DT$:POKE SAD+ADD,VAL("&H"+DT$):NEXT ADD
  171. 5040 VOICE 9,SON:NEXT I
  172. 5050 DATA 3E,7F,30,73,0,0,0,0,1F,1F,1F,1F
  173. 5060 DATA 0,0,1C,1C,0,0,12,13,0,0,9,F,3C,C0
  174. 5070 '--------------------------------------------------------SYOKI SETTEI
  175. 5080 SCREEN @2:PALETTE:PASTEL:COLOR 0,[128,128,128]:CLS
  176. 5090 BGM 0:DEFINT A-Z:DEFSTR M,R
  177. 5100 T$="T180@106O2V9U0%CL64":PLAY T$+"@9",T$,T$+"U+3000"
  178. 5110 PALETTE 1,[8,8,8]:LINE (0,0)-(639,479),PSET,%1,BF
  179. 5120 '---------------------------------------------KEISEN:MEISAI:KYOKU MEI
  180. 5130 LINE (50,50)-(400,50),PASTEL,7:Y=100
  181. 5140 FOR I=0 TO 14:LINE (35,Y)-(605,Y),PASTEL,7:Y=Y+25:NEXT
  182. 5150 Y=5:FOR I=1 TO 3:READ M:SYMBOL (405,Y),M,1,1,2:Y=Y+19:NEXT
  183. 5160 READ M:SYMBOL (50,53),M,1,1,,,,8
  184. 5170 SYMBOL (103,455),"<             :         >-♪-<             :         >",1,1,7
  185. 5180 X=48:READ M:A=KLEN(M,0):FOR I=1 TO A:MOJ=KMID$(M,I,1)
  186. 5190 SYMBOL (X,15),MOJ,1,2,7,,,13
  187. 5200 IF MOJ=" " THEN PLAY "R":X=X+16:NEXT ELSE PLAY "C16":X=X+16:NEXT
  188. 5210 '-------------------------------------------------------------MESSAGE
  189. 5220 X=60:I=0:Y=83:R="BB-AA-GG-FEE-DD-C>G-GA-AB-B<":RESTORE *MESSAGE
  190. 5230 READ M
  191. 5240 SUU=KLEN(M,0)
  192. 5250 '
  193. 5260 *MAIN
  194. 5270 I=I+1:MOJ = KMID$(M,I,1)
  195. 5280 IF I=SUU+1 THEN I=0:GOTO 5230
  196. 5290 IF MOJ="@" GOTO *SYORI
  197. 5300 IF X=587 THEN X=60:Y=Y+25:PLAY ,R,R
  198. 5310 SYMBOL (X,Y),MOJ,1,1,C,,,9
  199. 5320 IF MOJ="?" OR MOJ="!" OR MOJ="・" THEN PLAY "<<C2>>":GOTO 5350
  200. 5330 IF MOJ=" " OR MOJ="、" THEN PLAY "<<C8>>":GOTO 5350
  201. 5340 IF MOJ="。" THEN PLAY "<<C4>>" ELSE PLAY "C64"
  202. 5350 X=X+17:GOTO *MAIN
  203. 5360 '
  204. 5370 *SYORI
  205. 5380 I=I+1:MOJ = KMID$(M,I,1)
  206. 5390 IF MOJ="E" GOTO *OWARI
  207. 5400 IF MOJ="R" THEN X=60:Y=Y+25:PLAY ,R,R:GOTO *MAIN
  208. 5410 C=VAL(MOJ$):GOTO *MAIN
  209. 5420 '---------------------------------------------------------MEISAI DATA
  210. 5430 DATA "* SKE.メサ-ジュシステム  V2.1","* For 386  V1.1L20 / L21","*"
  211. 5440 DATA "作・編曲/SKEMARO"
  212. 5450 '--------------------------------------------------------MESSAGE DATA
  213. 5460 DATA "   KNIGHT (未使用曲)":'DAIMEI 21 MOJI
  214. 5470 *MESSAGE
  215. 5480 DATA "@7 この曲も未使用曲です。@R"
  216. 5490 DATA " 実は、未使用ではなく、「KNIGHT」のBGMのお手伝いをさせて貰おうと思って、自己紹介の時にライオスさんに送った曲です。@R"
  217. 5500 DATA " これも、どっかで聴いた事のあるような感じですが、もう言い訳はしません。言い訳してたら、ほとんどの自作曲に言い訳しないと、いけなさそうだから。"
  218. 5501 DATA "それに、今は誰かの真似してても、たくさんやってるうちに、凄いオリジナル曲だって作れるようになると思うし。@R"
  219. 5510 DATA " ・・ううーん・・ちょっと内容と、文体が、固いなー。@R"
  220. 5520 DATA " ・・とうふ。 っと  ・・あれ?@R"
  221. 5530 DATA " ・・ゼリー。 っと  ・・まだ固いなー。@R@R"
  222. 5531 DATA "あああああああああああああああああ なしなし、今のなし。面白くねー&恥ずかしー。ああああああああああ、なんで なんでー。@R こんな基本的なボケー。ああああああああああああああ@E"
  223. 5540 '---------------------------------------------------------OWARI SHORI
  224. 5550 *OWARI
  225. 5560 SYMBOL (128,455),"PLAY START   ANY KEY",1,1,2
  226. 5570 SYMBOL (368,455),"PLAY STOP   PF1",1,1,%1:A$=INPUT$(1)
  227. 5580 SYMBOL (128,455),"PLAY START   ANY KEY",1,1,%1
  228. 5590 SYMBOL (368,455),"PLAY STOP   PF1",1,1,2:PLAY ,R,R
  229. 5600 BGM 1
  230. 5610 RETURN
  231. 65000 BGM 0:PLAY"R64":BGM 1
  232. 65010 CLOSE #1 :KEY(1) OFF:PLAY OFF:RUN"MENU.BAS"
  233.